<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>Tekdaqc Firmware: AnalogInput_Multiplexer.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customstyle.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Tekdaqc Firmware
   &#160;<span id="projectnumber">1.0.2.0</span>
   </div>
   <div id="projectbrief">The firmware of the Tekdaqc.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_analog_input___multiplexer_8c.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">AnalogInput_Multiplexer.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Analog input multiplexer, handling internal and external analog inputs.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="_tekdaqc___debug_8h_source.html">Tekdaqc_Debug.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_analog_input___multiplexer_8h_source.html">AnalogInput_Multiplexer.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_a_d_c___state_machine_8h_source.html">ADC_StateMachine.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_a_d_s1256___driver_8h_source.html">ADS1256_Driver.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_tekdaqc___timers_8h_source.html">Tekdaqc_Timers.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="_telnet_server_8h_source.html">TelnetServer.h</a>&quot;</code><br/>
</div>
<p><a href="_analog_input___multiplexer_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga82dce77857c1a4197599b5e53d4c4baf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#ga82dce77857c1a4197599b5e53d4c4baf">isExternalInput</a> (PhysicalAnalogInput_t input)</td></tr>
<tr class="memdesc:ga82dce77857c1a4197599b5e53d4c4baf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if the specified input is an external analog input.  <a href="group__analog__input__multiplexer.html#ga82dce77857c1a4197599b5e53d4c4baf">More...</a><br/></td></tr>
<tr class="separator:ga82dce77857c1a4197599b5e53d4c4baf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9452ba5ad241ec1be905a8683f3aa893"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#ga9452ba5ad241ec1be905a8683f3aa893">isInternalInput</a> (PhysicalAnalogInput_t input)</td></tr>
<tr class="memdesc:ga9452ba5ad241ec1be905a8683f3aa893"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines if the specified input is an internal analog input.  <a href="group__analog__input__multiplexer.html#ga9452ba5ad241ec1be905a8683f3aa893">More...</a><br/></td></tr>
<tr class="separator:ga9452ba5ad241ec1be905a8683f3aa893"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b4aed86c91b3b4bbdc4c7e03f6923ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#ga5b4aed86c91b3b4bbdc4c7e03f6923ef">isExternalMuxingComplete</a> (void)</td></tr>
<tr class="memdesc:ga5b4aed86c91b3b4bbdc4c7e03f6923ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks to see if the external input muxing process has completed.  <a href="group__analog__input__multiplexer.html#ga5b4aed86c91b3b4bbdc4c7e03f6923ef">More...</a><br/></td></tr>
<tr class="separator:ga5b4aed86c91b3b4bbdc4c7e03f6923ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f67e83c34a57a26b88716b132d78c9f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#ga7f67e83c34a57a26b88716b132d78c9f">InputMultiplexerInit</a> (void)</td></tr>
<tr class="memdesc:ga7f67e83c34a57a26b88716b132d78c9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the analog input multiplexer.  <a href="group__analog__input__multiplexer.html#ga7f67e83c34a57a26b88716b132d78c9f">More...</a><br/></td></tr>
<tr class="separator:ga7f67e83c34a57a26b88716b132d78c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03ab9244c4f082f5fec2ab96b319db65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#ga03ab9244c4f082f5fec2ab96b319db65">SelectAnalogInput</a> (<a class="el" href="struct_analog___input__t.html">Analog_Input_t</a> *input, <a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a> doMuxDelay)</td></tr>
<tr class="memdesc:ga03ab9244c4f082f5fec2ab96b319db65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects the specified analog input.  <a href="group__analog__input__multiplexer.html#ga03ab9244c4f082f5fec2ab96b319db65">More...</a><br/></td></tr>
<tr class="separator:ga03ab9244c4f082f5fec2ab96b319db65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5cea2fc9723db50fa8b7c18c0ec0679"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#gab5cea2fc9723db50fa8b7c18c0ec0679">SelectPhysicalInput</a> (PhysicalAnalogInput_t input, <a class="el" href="group__data__types.html#ga0ecf26b576b9a54eca656b9be7ba6a06">bool</a> doMuxDelay)</td></tr>
<tr class="memdesc:gab5cea2fc9723db50fa8b7c18c0ec0679"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects the specified physical input.  <a href="group__analog__input__multiplexer.html#gab5cea2fc9723db50fa8b7c18c0ec0679">More...</a><br/></td></tr>
<tr class="separator:gab5cea2fc9723db50fa8b7c18c0ec0679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade4a88985454a90749affb88214a817e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#gade4a88985454a90749affb88214a817e">SelectCalibrationInput</a> (void)</td></tr>
<tr class="memdesc:gade4a88985454a90749affb88214a817e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects the designated offset calibration input.  <a href="group__analog__input__multiplexer.html#gade4a88985454a90749affb88214a817e">More...</a><br/></td></tr>
<tr class="separator:gade4a88985454a90749affb88214a817e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6210a53610863d94bea3968f43b4e88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#gae6210a53610863d94bea3968f43b4e88">SelectColdJunctionInput</a> (void)</td></tr>
<tr class="memdesc:gae6210a53610863d94bea3968f43b4e88"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selects the designated cold junction sensor input.  <a href="group__analog__input__multiplexer.html#gae6210a53610863d94bea3968f43b4e88">More...</a><br/></td></tr>
<tr class="separator:gae6210a53610863d94bea3968f43b4e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga719b0357a9dca76e01dcc6a511cd8b7f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#ga719b0357a9dca76e01dcc6a511cd8b7f">ResetSelectedInput</a> (void)</td></tr>
<tr class="memdesc:ga719b0357a9dca76e01dcc6a511cd8b7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reselects the selected input if we swithced away from it.  <a href="group__analog__input__multiplexer.html#ga719b0357a9dca76e01dcc6a511cd8b7f">More...</a><br/></td></tr>
<tr class="separator:ga719b0357a9dca76e01dcc6a511cd8b7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03f66c16ea15a425062a4b09c0bceba1"><td class="memItemLeft" align="right" valign="top">ExternalMuxedInput_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analog__input__multiplexer.html#ga03f66c16ea15a425062a4b09c0bceba1">GetExternalMuxedInputByNumber</a> (uint8_t input)</td></tr>
<tr class="memdesc:ga03f66c16ea15a425062a4b09c0bceba1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines the external input for the specified input index.  <a href="group__analog__input__multiplexer.html#ga03f66c16ea15a425062a4b09c0bceba1">More...</a><br/></td></tr>
<tr class="separator:ga03f66c16ea15a425062a4b09c0bceba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The analog sampling circuitry of the Tekdaqc can only sample a single channel at a time and so it needs to multiplex the various analog input channels to the ADC. The Tekdaqc incorporates both an external analog input multiplexer and the ADC's internal input multiplexer, and the methods in this file will ensure that both the external multiplexer and the ADC's internal multiplexer are properly configured.</p>
<dl class="section author"><dt>Author</dt><dd>Jared Woolston (<a href="#" onclick="location.href='mai'+'lto:'+'jwo'+'ol'+'sto'+'n@'+'ten'+'ki'+'v.c'+'om'; return false;">jwool<span style="display: none;">.nosp@m.</span>ston<span style="display: none;">.nosp@m.</span>@tenk<span style="display: none;">.nosp@m.</span>iv.c<span style="display: none;">.nosp@m.</span>om</a>) </dd></dl>
<dl class="section since"><dt>Since</dt><dd>v1.0.0.0 </dd></dl>

<p>Definition in file <a class="el" href="_analog_input___multiplexer_8c_source.html">AnalogInput_Multiplexer.c</a>.</p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_2ee1bcc70ffbdd9fa2e6058af4d56b44.html">TekDAQC_Firmware</a></li><li class="navelem"><a class="el" href="dir_487e5c767aeaee42821fd912e2f2cba6.html">src</a></li><li class="navelem"><a class="el" href="_analog_input___multiplexer_8c.html">AnalogInput_Multiplexer.c</a></li>
    <li class="footer">Generated on Mon Jul 28 2014 23:42:40 for Tekdaqc Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>
